https://pastebin.com/Yn1LUDDZ